using System; 
using Game.NetWork; 
using Game; 

namespace YS 
{
    public class YStime 
    {
        // 方法：获取当前游戏时间并返回格式化的字符串
        public string YS_time()
        {
            // 获取游戏中的当前时间（以一天中的比例表示，范围为0到1）
            double value = (double)GameManager.Project.FindSubsystem<SubsystemTimeOfDay>().TimeOfDay * 144.0 / 6.0;

            // 将时间值四舍五入到小数点后一位，并转换为字符串
            string text = Math.Round(value, 1).ToString();

            // 计算当前时间在一天中的具体阶段（0到1之间的浮点数）
            float num = ProjectNet.subsystemTimeOfDay.CalculateTimeOfDay();

            // 根据时间阶段返回不同的时间信息
            if (num >= 0f && num < 0.25f)
            {
                // 如果是凌晨（0到0.25，即0点到6点）
                return "时间为" + LanguageControl.Get(ComponentGui.fName, 18) + text;
            }

            if (num >= 0.25f && num < 0.5f)
            {
                // 如果是上午（0.25到0.5，即6点到12点）
                return "时间为" + LanguageControl.Get(ComponentGui.fName, 15) + text;
            }

            if (num >= 0.5f && num < 0.75f)
            {
                // 如果是下午（0.5到0.75，即12点到18点）
                return "时间为" + LanguageControl.Get(ComponentGui.fName, 16) + text;
            }

            // 如果是晚上（0.75到1，即18点到24点）
            return "时间为" + LanguageControl.Get(ComponentGui.fName, 17) + text;
        }
    }
}